// components/my-swiper/my-swiper.js
const app = getApp()
Component({
    options: {
        styleIsolation: "apply-shared" //允许使用app.wxss全局样式
    },
    properties: {
        // swiper列表数据
        swiperData: {
            type: Array,
            value: []
        },
        // 高度
        height: {
            type: Number,
            value: 360
        },
        // 模式
        mode: {
            type: String,
            value: 'aspectFill'
        },
        // 是否显示标题（隐藏dot）
        showTitle: {
            type: Boolean,
            value: false
        },
        // 是否显示dot（showTitle为false时）
        showDots: {
            type: Boolean,
            value: true
        },
        // 是否显示计数（隐藏计数）
        showCount: {
            type: Boolean,
            value: false
        }
    },
    data: {
        current: 0,
        swiperCurrent: 0
    },
    attached: function () {

    },
    methods: {
        // current 改变时会触发 change 事件
        bindchangeFn(e) {
            const { current, swiperCurrent } = this.data;
            const newCurrent = e.detail.current;
            const swiperLength = this.data.swiperData.length;

            // 边界检查
            if (newCurrent < 0 || newCurrent >= swiperLength) {
                console.error('Invalid swiper index:', newCurrent);
                return;
            }

            // 防止swiper控件卡死
            if (current === 0 && swiperCurrent > 1) {
                // 卡死时，重置current为正确索引
                this.setData({ current: newCurrent });
            } else {
                // 正常轮转时，记录正确页码索引
                this.setData({ swiperCurrent: newCurrent });
            }

            // //防止swiper控件卡死
            // if (this.data.current == 0 && this.data.swiperCurrent > 1) {//卡死时，重置current为正确索引
            //     this.setData({ current: this.data.swiperCurrent });
            // } else {//正常轮转时，记录正确页码索引
            //     this.setData({ swiperCurrent: e.detail.current });
            // }
        },

        // 点击时 生成事件 父页面调用
        bindtapFn(e) {
            console.log(e);
            let url = e.currentTarget.dataset.url;
            if (url != '') {
                app.m_tourl(url);
            }
            // 自定义一个事件，并且传值
            //let current = this.data.current
            //this.triggerEvent('tapEvent', { current })
        }
    }
})